There are implementations to determine the physical/virtual topology using standards based protocols like Link Layer Discovery Protocol (LLDP) etc., proprietary protocols like Cisco Discovery Protocol (CDP), Juniper Discovery Protocol (JDP), etc.
There are also methods that leverage a combination of spanning tree protocol (STP) data, media access control (MAC) address tables, and address resolution protocol (ARP) tables to determine the network topology.
Server/blade-servers and virtual machine managers also provide the virtual topology mappings of the virtual machines and virtual switches in the blade/rack mount servers.
However, more efficient and accurate methods for discovering a network topology are possible, particularly when one or even few types of data are unable to map an entire network. It is desirable to leverage multiple types of network communication data to accurately discover a network topology.